Control systems often use integrating feedback in order to eliminate steady-state tracking errors. Typically, these control systems include an implementation in which internal state variables integrate or accumulate over time the values of feedback error signals. Because such internal state variables cannot maintain a steady state value unless their input error signals are zero, integrating feedback causes the error signals to go to zero in the steady state. There are a number of problems associated with these conventional control systems that have long plagued designers in attempting to create fast, efficient, accurate, and optimized control command outputs for a particular application. These problems include integrator windup, cross-channel coupling, channel prioritization, and output mixing.
Integrator windup refers to a control situation in which a large disturbance (or even a large command) causes a control output signal to exceed some physical limit of the plant's controls. This causes control "saturation". For example in an airplane flight control system, rudder deflection might be limited physically to .+-.30 degrees. If a large disturbance occurs and the rudder command becomes saturated due to this limit, the plant is running "open loop" in the sense that incremental changes to the rudder command will have no effect on the rudder's actual positioning--the rudder is already at a limit. Thus during saturation, the rudder error signal will not immediately be driven toward zero by incremental feedback action. Instead, the integrator signal will "wind up" and continue to increase. After the saturation event ends, normal feedback action will resume and force the error signal back toward zero. However, by that time, the integrator signal may have increased to a large value, forcing the control signal far away from its normal steady-state value. The usual result is a large temporary overshoot in the command signal, as feedback action causes the error signal to reverse sign in order to "unwind" the integrator state back to its final steady-state value.
Prior attempts to solve the integrator windup problem have generally involved writing special-purpose switching logic code to freeze the integrator states during control saturation. Freeze logic typically holds the integrator state constant during saturation events, until the control signal drops below the saturation threshold. This method often fails in multi-channel controllers because there is no one-to-one relationship between each control and each integrator state, a fact that leads to cross-channel coupling, described below. Because the control signal depends directly upon the frozen integrator state, freeze logic is also prone to "chattering" when the logic alternately freezes and unfreezes the integrator on successive time steps. Freeze logic that avoids chattering can be difficult to write and debug, and often requires tremendous amounts of coding.
Other prior attempts to solve the problem of integrator windup use command limiting in which the magnitude and rate of change of external commands are restricted before they enter the feedback loop. This technique unnecessarily restricts the performance of the control system by preventing the controls from reaching their true limits. It is also vulnerable to large system disturbances, that cannot be artificially limited.
In addition to integrator windup, for multi-channel systems (i.e., those having matrix gains and vector variables), there is an undesirable problem of cross-channel coupling that can occur even when integrator windup has been eliminated. In a multi-channel integrating control system, more than one error signal is being driven to zero. For example, a multi-channel aircraft control system might regulate roll rate and sideslip angle simultaneously by commanding both aileron and rudder deflections. During control saturation, transient tracking errors can appear in both command channels. This occurs even when integrator windup is eliminated. In this example, rudder saturation might introduce errors in both roll rate and sideslip angle command tracking, because the nonsaturated aileron signal depends upon both error signals (i.e., both a roll rate error signal and a sideslip angle error signal.) This phenomenon does not occur in single-channel control systems where each control is driven by a single error signal. In some cases, it is desired to assign fixed priorities to the regulation channels, so that transient tracking errors from saturation are confined to the least-important channels when possible. In aircraft, for example, tight regulation of sideslip angle might be considered more important than roll rate error.
The problem of cross-channel coupling can be exacerbated if a designer attempts to use traditional freeze logic on an integrator to control windup when its corresponding control actuator is saturated. This is particularly true if there is no one-to-one correspondence between the command inputs and the output control variables, thus posing a system with inherent coupling of its variables.
In addition to integrator windup and its associated problems, a further problem exists in conventional control systems regarding allocation of control responses between different control actuators (or more generally "control effectors") and regarding the application of limits to the commanded outputs. Conventional gain matrix output mixers typically produce commands based on a gain matrix that weighs various input commands based a predefined value system. Since the final control effector commands are subject to saturation by the physical limits of the actual controls, conventional mixers often include a hard limiter function, where the final output of the mixer is a limited control effector command. Each element of the control output vector from the mixer has its own independent upper and lower bounds, which are applied by the hard limiter function.
These prior implementations of output mixers have usually applied linear gain matrices to distribute the total power commands to the complete set of control effectors. This approach is valid for typical small-signal operation, but it introduces control power errors and potential degraded stability when one or more of the control effectors is saturated. Attempts to address that problem have usually involved limiting the total power commands in order to keep the control effectors out of saturation. This has the undesirable effect of preventing the control system from producing the full range of possible control power. Thus, the control effectors are not used to their fullest combined capacity.
In addition, prior methods for general-purpose nonlinear control using internal dynamic models (e.g., dynamic inversion and feedback linearization) solve certain model equations at each time step. These known methods fail when the controls saturate, because the equations have no exact solutions in those cases. These older methods also have no ability to incorporate inequality constraints on the controls and states.
Thus, a need exists for a control system capable of eliminating integrator windup, improving output mixing, and reducing the problems related to both integrator windup and output mixing. The ideal system would provide fast, reliable, control commands that take full advantage of all control effectors within the boundaries of each effector's capacity. The present invention is directed to fulfilling these and other needs as described below.